Skip to content

feat(devices): add simulator hosts and floating streams - #509

Merged
rynfar merged 1 commit into
pylonfrom
upstream/2026-09-12-devices
Sep 12, 2026
Merged

feat(devices): add simulator hosts and floating streams#509
rynfar merged 1 commit into
pylonfrom
upstream/2026-09-12-devices

Conversation

@rynfar

@rynfar rynfar commented Sep 12, 2026

Copy link
Copy Markdown
Collaborator

Pylon gains simulator and emulator discovery, local and SSH hosts, independent per-thread device sessions, typed controls, authenticated streaming, agent tools, and floating device previews. Browser previews return to the floating player when the panel closes, use the composer margins, show recording status, and display website favicons in tool activity.

Device helpers remain opt-in. The proxy forwards only approved media/read routes and requires operate scope for input and tuning; host tickets and endpoints remain behind environment authentication. Existing Pylon browser profile gates, rollback runtime composition, provider generation fences, and Prime MCP ownership remain intact. Prime uses the absolute launcher path returned by device_open; its daemon launch environment stays owned by the manager. Async CLI preparation precedes guarded credential issuance so retired provider work cannot overwrite its replacement's MCP session.

Cycle #497, frozen range 6c583620ff7ad3235b135af7107c0543467eecfa..4a4c6dd2adc350a68ba18bb28b24b5a7e4660dab. All assigned source behavior adopted with Pylon adaptations:

  • 0882431e0fc0fabe950743dd44b674a07a584bc9 — fix(preview): return to pip when closing the right panel (#11102)
  • 3997b9a3a4ee6b43ee768a9b372ff3dd52fd840e — fix(web): align floating browser preview corners (#10915)
  • dca7b59bea7e8a4a24e75b290027496a523b0ca7 — feat(devices): add simulator and emulator support (#10677)
  • e022fa430edbf8d448efe0f34303ff290ebb3dc0 — feat(devices): scope targets and sessions to their hosts (#10854)
  • 7734c6d71b6dd5df9c9b4856cff8e419b8837fe8 — feat(devices): target concurrent agent sessions across hosts (#10855)
  • d2eeacd8ccde4d8763ca315b4cddf2964db93329 — feat(devices): connect simulator hosts over SSH (#10856)
  • dfa345b3697a9117364cc6730a1598d6c27096f2 — feat(web): use a compact right-panel surface menu (#11111)
  • 6c69534a5800a95e1640b0571580561ef71ec461 — fix(preview): render website favicons for browser tool activity (#11032)
  • fb52d125b78b2ed1638a719a7546fad9c695c620 — fix(client-runtime): typecheck device hub ticket request on main (#11304)
  • 8bbe2bf660c361e33db9c30f03fc72ab183eef3f — feat(web): float device streams over chat (#11285)
  • 18f7254e0adbd7d642f4d78f9b9c8e6cb569af56 — fix(web): floating preview can use the margins beside the composer (#11290)
  • 0eaa18c12936dffde078b277be91cbafa5758cb9 — feat(web): show recording status on floating previews (#11312)

The source context also contains linked-PR capabilities owned by the separate PR lane; those unrelated context hunks are excluded here and remain assigned there. The device ticket request uses #507's authenticated auth group client. Project-scoped device permissions combine with the settings lane before cycle completion.

Adversarial review found and fixed expired Android ticket recovery, host startup/restart scope ownership, background/blur media work, concurrent settings defaults, and concurrent tool install publication. Filesystem leases now protect pinned installs across independent server processes; helper scopes and supervisory fibers belong to the host.

Validation: 723 focused tests across 31 files passed after fixes, including host/proxy/SSH/agent MCP, provider lifecycle, floating preview/layout, panel state, and client work-log coverage. Typechecks passed for contracts, client-runtime, server (t3), web, mobile, and desktop. Changed-file formatter and lint passed (existing warnings). Independent adversarial review approved the implementation; final CI is pending on the rebased head. Rebased onto 7df0bd7edf1c94c73765438076413a51144eae30 after #507/#508, resolved additive question/favicon projection and platform icons, and passed 420 focused shared-file tests plus server/client-runtime/web/mobile typechecks. Browser/computer use was not authorized, so no final Pylon screenshots or live simulator run are claimed. Upstream UI context: pingdotgg/t3code#10677 and pingdotgg/t3code#11285.

Implemented with Codex (GPT-6) in the Pylon workspace.

@vercel

vercel Bot commented Sep 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
pylon-marketing Ready Ready Preview Sep 12, 2026 6:43am UTC

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL labels Sep 12, 2026
@github-actions

github-actions Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 14.1 KiB 14.1 KiB +22 B (+0.2%) 15.1 KiB
Codex Thread snapshot wire 7.2 KiB 7.2 KiB −3 B (−0.0%) 7.3 KiB
Codex Live turn WebSocket wire 6.8 KiB 6.9 KiB +25 B (+0.4%) 7.8 KiB
Codex Live turn WebSocket decoded 58.8 KiB 58.8 KiB 0 B (0.0%) 66.4 KiB
Codex Live turn messages 10 10 0 (0.0%) 21
Claude Total thread wire 14.1 KiB 14.1 KiB −25 B (−0.2%) 15.1 KiB
Claude Thread snapshot wire 7.2 KiB 7.2 KiB +4 B (+0.1%) 7.3 KiB
Claude Live turn WebSocket wire 6.9 KiB 6.9 KiB −29 B (−0.4%) 7.8 KiB
Claude Live turn WebSocket decoded 59.7 KiB 59.7 KiB 0 B (0.0%) 66.4 KiB
Claude Live turn messages 10 10 0 (0.0%) 21

Baseline: 7df0bd7 · PR result: dd7c670 · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 115.6 KiB
  • Claude decoded thread snapshot: 116.3 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@rynfar

rynfar commented Sep 12, 2026

Copy link
Copy Markdown
Collaborator Author

Independent adversarial review by the web/client lane is complete on final head dd7c670. All five findings are fixed and re-reviewed: Android ticket renewal, host process scope/cancellation ownership, serialized device configuration, foreground-only streaming, and cross-process install locking. The final rebase preserves grouped auth tickets, preview metadata and question input after #507/#508. 723 focused tests across31files plus final overlap420tests and scoped consumer typechecks passed; all final-head CI including Windows packaged smoke is green (run34678822170). Native visual verification remains unperformed as stated in the PR. Landing under the standing upstream-cycle approval.

@rynfar
rynfar merged commit 6c5687f into pylon Sep 12, 2026
20 checks passed
@rynfar
rynfar deleted the upstream/2026-09-12-devices branch September 12, 2026 06:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant